package com.example.model.DTO;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 脱敏后的用户数据传输对象
 * 用于向前端返回当前登录用户的脱敏信息
 *
 * @author zhexueqi
 * @since 2024/4/12
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "脱敏用户数据", description = "包含脱敏处理后的用户敏感信息")
public class MaskedUserDTO {
    
    @ApiModelProperty(value = "用户ID")
    private Long id;
    
    @ApiModelProperty(value = "用户姓名")
    private String name;
    
    @ApiModelProperty(value = "脱敏后的身份证号")
    private String maskedIdNumber;
    
    @ApiModelProperty(value = "脱敏后的联系电话")
    private String maskedPhone;
    
    @ApiModelProperty(value = "脱敏后的电子邮箱")
    private String maskedEmail;
    
    @ApiModelProperty(value = "脱敏后的钱包地址")
    private String maskedEmployeeAddress;
    
    @ApiModelProperty(value = "用户类型 0-管理员 1-员工 2-社保局 3-雇主")
    private Integer userType;
    
    @ApiModelProperty(value = "性别 0-男 1-女")
    private Integer sex;
    
    @ApiModelProperty(value = "年龄")
    private Integer age;
    
    @ApiModelProperty(value = "雇主名字")
    private String employer;
    
    @ApiModelProperty(value = "头像")
    private String avatar;
    
    @ApiModelProperty(value = "学历")
    private String education;
    
    @ApiModelProperty(value = "婚姻状况 0-未婚 1-已婚 2-离异 3-丧偶")
    private Integer maritalStatus;
    
    @ApiModelProperty(value = "居住地址")
    private String address;
    
    @ApiModelProperty(value = "户口类型 0-城镇 1-农村")
    private Integer householdType;
    
    @ApiModelProperty(value = "职位名称")
    private String jobTitle;
    
    @ApiModelProperty(value = "职级")
    private String jobLevel;
    
    @ApiModelProperty(value = "工作年限")
    private Integer workYears;
    
    @ApiModelProperty(value = "状态 0-禁用 1-启用")
    private Integer status;
}